package spec.lijunyao.unit4.outclazz.ball;

/**
 * 子类，足球类，继承自Ball类
 */
public class Football extends Ball {
    private String bw = "手";

    public Football(String name, String dx, String cl, String wight, String rq){
        super(name, dx, cl, wight, rq);
    }

    public Football(String name, String dx, String cl, String wight, String rq, String bw){
        super(name, dx, cl, wight, rq);
        this.bw = bw;
    }

    /**
     * 重载 overloaded
     * 1、重载发生在同一类里
     * 2、多个方法的方法名、返回值相同，参数列表不同
     * 3、普通方法可以通过修改方法名来避免重载，构造方法的重载是不可避免
     */
    public String playZs(int ydyNum, int cpNum){
        String s = super.play();
        return s + "比赛运动员人数" + ydyNum +  "，裁判" + cpNum;
    }
    public String playFun(int ydyNum){
        String s = super.play();
        return s + "比赛运动员人数" + ydyNum;
    }

    /**
     * 重写 override
     * 问题由来：子类和父类有相同的方法play，返回值都是String，
     * 参数列表都为空，子类对象去调用play方法，
     * 运行的是子类的还是父类的？
     * 调用的是子类的play方法，这子类的方法把父类的覆盖，称为隐藏、重写
     * 特征：父类和子类有相同的方法特征(返回值、方法名、参数列表)
     */
    public String play(){
        return super.play();
    }

}